/* *****************************************************************************
 * JFab (http://code.google.com/p/jfab)
 * Copyright (c) 2011 JFab.org
 * Admin jfab@jeffreythompson.net
 *
 * See the file "LICENSE.txt" for information on usage and redistribution of
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * *****************************************************************************/


package org.jfab.core.builder;

import org.jfab.core.model.CGClass;


/**
 * Defines methods required by a class which builds a code generator object into
 * a class.
 *
 * @param  <T>  Code generator object type.
 */
public interface CGClassBuilder<T>
{
    /**
     * @param   object  Code generator object.
     *
     * @return  the given parameter built into a code generator class.
     */
    CGClass build(T object);
}
